package chap06.task6;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

/**
 * Create by IntelliJ IDEA
 *
 * @author: jsonor
 * @date-Time: 2018/5/4 10:20
 * @description:
 */
public class CharCode {
  //1、手动操作：d盘新建a.txt文件,写入几个中文（可以查看默认是ANSI编码,在简体中文Windows操作系统中，ANSI 编码代表 GBK 编码），
  //2、用Java代码实现文件拷贝（将d盘A.txt文件拷贝到当前目录），会出现乱码,
  //3、利用转换流可以解决乱码问题
  public static void main(String[] args) throws  Exception{
    /*1.D盘的A.txt是GBK编码，用转换流（指定GBK编码）
    * 2.再使用字符缓冲流 一次读写一行文本*/
    InputStreamReader isr=new InputStreamReader
        (new FileInputStream("d:\\A.txt"),"gbk");
    OutputStreamWriter osw=new OutputStreamWriter
        (new FileOutputStream("pan.txt"),"utf-8");
    //利用字符缓冲流实现一次读写一行文本(使用转换流来构造字符缓冲流)
    BufferedReader br=new BufferedReader(isr);
    BufferedWriter bw=new BufferedWriter(osw);
    String line=null;
    while ((line=br.readLine())!=null){
      bw.write(line);
      bw.newLine();
    }
    br.close();
    bw.close();
    osw.close();
    isr.close();
  }
}
